1. Field of the Invention
The present invention relates to a memory power control method and a memory power control program for reducing a memory's power consumption. More particularly, the present invention relates to a memory power control method and a memory power control program to be employed in generational heap memory.
2. Description of Related Art
Reducing a computer's power consumption is an ongoing challenge. In a computer, memory consumes 1.5 times more power than a CPU. In a data center, memory power consumption is said to account for 27% of the total power consumption of the data center (see Li, X. et al, “Performance-directed energy management for storage systems,” IEEE Micro, 2004). Thus, from the viewpoint of saving energy, reducing memory power consumption is an extremely important issue.
In this regard, a memory module which supports power saving has a power saving mode. The address space of the physical memory of the memory module is divided into units (called ranks) of a constant size, and the memory module is switched to the power saving mode on the rank basis. However, it is difficult to use the power saving mode in a program that uses heap memory (heap area) and garbage collection (GC).
With the popularization of object-oriented languages and GC, programs require larger heap areas. In a program written in an object-oriented language, a storage area (memory area) in a heap area is allocated to each object representing a data set, and memory areas allocated to unused objects are freed up and reclaimed by GC. Performing GC increases the required time for processing the program, and thus leads to substantial performance deterioration. In other words, performing GC creates overhead for the program. In order to reduce the frequency of performing GC, the heap area should be made larger.
Moreover, certain experimental results show that many of objects created by a large-scale and performance-critical program, such as a server application program, use a memory area on the order of a gigabyte (GB) but survive only for a short period of time (nanoseconds to microseconds).
Previously, a computer has been proposed which intended to reduce memory power consumption based on its usage pattern (refer to Japanese Patent Application Publication No. 2008-40606, for example). Specifically, the memory has multiple memory banks whose power is controlled independently on the single bank basis, each of which includes multiple physical pages. In the computer, physical pages having similar usage frequencies are brought together into a single memory bank and a certain memory bank is selected as a power control target on the basis of the usage frequency, and the power of the selected memory bank is controlled.
However, memory allocation distributes to-be-accessed objects unevenly in a memory address space, and the accessed area moves quickly in an address space of a heap area. This means that objects that are frequently accessed do not concentrate in a certain rank, which causes all the ranks in the memory address space to be constantly accessed. Accordingly, such a program that uses heap area and GC has the problem of inevitable performance deterioration when switching to power saving mode.
In addition, in the technique disclosed in Japanese Patent Application Publication No. 2008-40606, an operating system (OS) generates statistics on access to pages, and brings together pages having similar access frequencies in the physical memory in accordance with the access statistics, which consequently leaves non-accessed pages in a certain rank. However, as with GC, operations such as generation of access statistics and memory copy increase the required time for processing a program which also causes performance deterioration. In addition, if access statistics are generated based on memory in which a to-be-accessed area moves quickly, it is statistically observed that the entire memory is evenly accessed at a substantially equal frequency. Hence, the technique disclosed in Japanese Patent Application Publication No. 2008-40606 has difficulty in switching each rank to the power saving mode.